home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
pcr
/
pcr4_4.lha
/
DIST
/
loading
/
fixcore.c
< prev
next >
Wrap
C/C++ Source or Header
|
1989-01-05
|
1KB
|
41 lines
#include <stdio.h>
#include <sys/types.h>
#include <a.out.h>
#include <sys/core.h>
#include <errno.h>
main(argc, argv)
int argc;
char **argv;
{
FILE *corefile, *modelfile;
struct core coreheader;
struct exec modelheader;
if (argc < 3) {
printf("Usage: %s corefile modelfile.\n", argv[0]);
exit(1);
}
if ((corefile = fopen(argv[1], "r+")) == NULL) {
fprintf(stderr, "Could not open core file '%s', errno = %d.\n", argv[1], errno);
exit(2);
}
if ((modelfile = fopen(argv[2], "r+")) == NULL) {
fprintf(stderr, "Could not open model file '%s', errno = %d.\n", argv[2], errno);
exit(3);
}
fread(&coreheader, sizeof(coreheader), 1, corefile);
fread(&modelheader, sizeof(modelheader), 1, modelfile);
if (coreheader.c_aouthdr.a_magic != OMAGIC) {
fprintf(stderr, "Core not of type 'OMAGIC'.\n");
exit(4);
}
if (modelheader.a_magic != OMAGIC) {
fprintf(stderr, "Model not of type 'OMAGIC'.\n");
exit(4);
}
coreheader.c_aouthdr.a_data = modelheader.a_data + modelheader.a_text;
rewind(corefile);
fwrite(&coreheader, sizeof(coreheader), 1, corefile);
exit(0);
}